#pragma once
#include <string>
#include <map>
/**
* Contains the name of an easy section and the key pair values
* in that inisection.
* @author Koen Samyn
*/
class IniSection
{
public:
	/**
	* Creates a new IniSection object with the name
	* for the section.
	*/
	IniSection(const tstring& sectionName);
	/**
	* Destroys the IniSection object.
	*/
	virtual ~IniSection(void);
	/**
	* Add Section key value pair.
	* @param key the key for the key value pair.
	* @param value the value for the key value pair.
	*/
	void AddKeyValue(const tstring& key, const tstring& value);
	/**
	* Returns the value.
	* @param key the key to search in this map. Returns an empty string
	* if the key is not found.
	*/
	tstring GetValue(const tstring& key);
	/**
	* Return the name of the section.
	* @return the name of the section.
	*/
	const tstring& GetSectionName()const{
		return m_SectionName;
	}
private:
	
	/**
	* The name for the section
	*/
	tstring m_SectionName;
	/**
	* A map with the key value pairs for the section.
	*/
	map<tstring,tstring> m_SectionMap;
};
